package com.ruoyi.basebill.service;

import java.util.List;
import com.ruoyi.basebill.domain.OmsReceiptbill;

/**
 * OMS收货确认Service接口
 * 
 * @author ptt
 * @date 2023-02-10
 */
public interface IOmsReceiptbillService 
{
    /**
     * 查询OMS收货确认
     * 
     * @param id OMS收货确认主键
     * @return OMS收货确认
     */
    public OmsReceiptbill selectOmsReceiptbillById(Long id);



    public OmsReceiptbill selectOmsReceiptbillSummaryEntryById(Long id);

    /**
     * 查询OMS收货确认列表
     * 
     * @param omsReceiptbill OMS收货确认
     * @return OMS收货确认集合
     */
    public List<OmsReceiptbill> selectOmsReceiptbillList(OmsReceiptbill omsReceiptbill);

    public List<OmsReceiptbill> selectOmsReceiptbillDetailList(OmsReceiptbill omsReceiptbill);

    public List<OmsReceiptbill> selectOmsReceiptbillBySumbill(OmsReceiptbill omsReceiptbill);
    /**
     * 新增OMS收货确认
     * 
     * @param omsReceiptbill OMS收货确认
     * @return 结果
     */
    public int insertOmsReceiptbill(OmsReceiptbill omsReceiptbill);

    /**
     * 修改OMS收货确认
     * 
     * @param omsReceiptbill OMS收货确认
     * @return 结果
     */
    public int updateOmsReceiptbill(OmsReceiptbill omsReceiptbill);

    public int updateOmsReceiptbillHead(OmsReceiptbill omsReceiptbill);


    /**
     * 批量删除OMS收货确认
     * 
     * @param ids 需要删除的OMS收货确认主键集合
     * @return 结果
     */
    public int deleteOmsReceiptbillByIds(Long[] ids);

    /**
     * 删除OMS收货确认信息
     * 
     * @param id OMS收货确认主键
     * @return 结果
     */
    public int deleteOmsReceiptbillById(Long id);


    /**
     * 查找需要下发的单据
     * @return
     */
    List<OmsReceiptbill> selectPushDownBill();


    /**
     * 查找需要下发生成对外销出单的数据
     * @return
     */
    List<OmsReceiptbill> selectPushDownOutSaleBill();
}
